package com.shenzhenai.it_hei_ma.a14waitandnotify;

import java.util.concurrent.ArrayBlockingQueue;

/**
 * @author huangzehui
 * @date 2025/8/29 13:24 周五
 * @description
 *
 *
 * 多线程&JUC-21-阻塞队列实现等待唤醒机制
 * https://www.bilibili.com/video/BV1LG4y1T7n2?spm_id_from=333.788.videopod.episodes&vd_source=e07cc8cc94eb22bd76722071b03cd199&p=21
 */
public class ThreadDemo {

    public static void main(String[] args) {
        /**
         * 需求:利用阻塞队列完成生产者和消费者(等待唤醒机制)的代码
         * 细节:
         *      生产者和消费者必须使用同一个阻塞队列
         */

        // 创建阻塞队列的对象
        ArrayBlockingQueue<String> queue = new ArrayBlockingQueue<>(1);

        Cook c = new Cook(queue);
        Foodie f = new Foodie(queue);

        c.setName("厨师");
        f.setName("吃货");

        c.start();
        f.start();

    }

}
